//
//  HMNetworkTool.swift
//  大深圳微博01
//
//  Created by shenzhenIOS on 16/4/9.
//  Copyright © 2016年 shenzhenIOS. All rights reserved.
//

import UIKit

import AFNetworking

// Swift中得枚举不仅可以有成员,还可以有属性,还有可以有方法
enum HMNetworkErrorEnum: Int {
    case AccessTokenEmpty = -1
    case UidEmpty = -2
    case RepeatLoadStatus = -3
    
    var errorDescription: String {
        get {
            switch self {
            case AccessTokenEmpty: return "access_token没有值"
            case UidEmpty: return "uid没有值"
            case RepeatLoadStatus: return "有人在加载微博数据"
            }
        }
    }
    
    // 返回一个错误
    func error() -> NSError {
        return NSError(domain: "cn.itheima.net", code: self.rawValue, userInfo: ["errorDescription" : self.errorDescription])
    }
}

class HMNetworkTool: AFHTTPSessionManager {
    // 单例
    static let sharedInstance: HMNetworkTool = {
        let tool = HMNetworkTool()
        
        // set: 元素是无须的,元素不会重复
        tool.responseSerializer.acceptableContentTypes?.insert("text/plain")
        
        return tool
    }()
}
